package com.itheima.d4_collection_list;

import java.util.ArrayList;
import java.util.List;

/**
      目标：掌握List系列集合的特点，以及其提供的特有方法。

    List特点：
        1、有序
        2、可重复
        3、具有索引
 */
public class ListTest1 {
    public static void main(String[] args) {
        // 1.创建一个ArrayList集合对象（有序、可重复、有索引）
        List<String> list = new ArrayList<>();  // 一行经典代码
        list.add("C罗"); //0
        list.add("C罗"); //1
        list.add("梅西"); //2
        list.add("内马尔"); //3
        list.add("莱万"); //4
        System.out.println(list); //[C罗, C罗, 梅西, 内马尔, 莱万]

        // 2.public void add(int index, E element): 在某个索引位置插入元素。
        //指定的索引必须在[0,长度]
        list.add(1, "兮");
//        list.add(10, "兮"); //运行后报错：IndexOutOfBoundsException
        System.out.println(list); //[C罗, 兮, C罗, 梅西, 内马尔, 莱万]

        // 3.public E remove(int index): 根据索引删除元素,返回被删除元素
        String remove = list.remove(0);
        System.out.println("remove = " + remove); //C罗
        System.out.println("list = " + list); //[兮, C罗, 梅西, 内马尔, 莱万]

        // 4.public E get(int index): 返回集合中指定位置的元素。
        String xi = list.get(0);
        System.out.println("xi = " + xi); //兮

        // 5.public E set(int index, E element): 修改索引位置处的元素,修改成功后，会返回原来的数据
        //[兮, C罗, 梅西, 内马尔, 莱万]
        //把梅西设置为鼬
        String set = list.set(2, "鼬");
        System.out.println("set = " + set); //梅西
        System.out.println("list = " + list); //[兮, C罗, 鼬, 内马尔, 莱万]

    }
}
